你正在 VB 加油站!

最近更新

加油站台

下载区域

文档资料收集

写流言

瞧瞧流言

友情连接

写信给俺啦

 

H 多媒体

A 声音

004 播放背景音乐 98-7-04

声明:
Declare Function MCISendString& Lib "MMSYSTEM" (ByVal LPSTRCOMMAND$, ByVal LPSTRRETURNSTR As Any, ByVal WRETURNLEN%, ByVal HCALLBACK%)
开始播放:
R% = MCISendString&("OPEN EXAMPLE.MID TYPE SEQUENCER ALIAS NN", 0&, 0, 0)
R% = MCISendString&("PLAY NN FROM 0", 0&, 0, 0)
R% = MCISendString&("CLOSE ANIMATION", 0&, 0, 0)
停止:
R% = MCISendString&("OPEN EXAMPLE.MID TYPE SEQUENCER ALIAS NN", 0&, 0, 0)
R% = MCISendString&("STOP NN", 0&, 0, 0)
R% = MCISendString&("CLOSE ANIMATION", 0&, 0, 0)
其中EXAMPLE.MID 为播放的文件,NN为自定义名称标志。到页首

003 取得 WAV 文件信息 98-7-04

WAV 文件基本信息包括如是否立体声,采样频率等。
声明:
Public Const RIFF_ID = 1179011410
Public Const RIFF_WAVE = 1163280727
Public Const RIFF_FMT = 544501094
'Typical header of a simple RIFF WAVE file
Public Type WAVInfo
  Riff_Format As Long
  chunk_size As Long
  ChunkID As Long fmt As Long
  Wave_Format As Integer
  Channels As Integer '0 = 单声道, 1 = 立体声
  SamplesPerSecond As Long
  AverageBytesPerSecond As Long '11.025kHz, 22.05kHz, 等
  BlockAlign As Integer 'Size of blocks for low level playback
End Type
函数:
Public Function GetWaveInfo(Byval filename As String, Byref w As WAVInfo) _
As Boolean

Dim ff As Integer
ff = FreeFile

On Error GoTo ehandler
Open filename For Binary Access Read As #ff

On Error GoTo ehandler_fo
Get #ff, , w
Close #ff

On Error GoTo ehandler

If w.Riff_Format = RIFF_ID And w.ChunkID = _
RIFF_WAVE And w.fmt = RIFF_FMT Then

GetWaveInfo = True
Else
GetWaveInfo = False
End If

Exit Function

ehandler_fo:
Close #ff
ehandler:
GetWaveInfo = False
End Function到页首

002 系统是否支持声音 98-6-06

声明:
Declare Function waveOutGetNumDevs Lib "winmm.dll" Alias "waveOutGetNumDevs" () As Long
例子:
Dim i As Integer
i = waveOutGetNumDevs()
If i > 0 Then
MsgBox "系统安装声卡"
Else
MsgBox "系统无声音卡"
End If到页首

001 播放 WAV 文件

Public Declare Function sndPlaySound& Lib "winmm.dll" Alias"sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long)
Global Const SND_SYNC = &H0
Global Const SND_ASYNC = &H1
Global Const SND_NODEFAULT = &H2
Global Const SND_LOOP = &H8
Global Const SND_NOSTOP = &H10


Sub PlayWav(SoundName As String)
Dim tmpSoundName As String
Dim wFlags%, X%
tmpSoundName = pathWavFiles & SoundName
wFlags% = SND_ASYNC Or SND_NODEFAULT
X% = sndPlaySound(tmpSoundName, wFlags%)
End Sub到页首

 

知/的/更/多 做/的/更/好